// #include<stack>
// #include<iostream>
// using namespace std;
// void test_stack()//为了单独测试我们要进行函数封装，便于查看结果，以及分开测试
// {
//     stack<int> st;
//     st.push(1);
//     st.push(2);
//     st.push(3);
//     st.push(4);
//     st.push(5);
//     while(!st.empty())
//     {
//         cout << st.top() << ' ';
//         st.pop();//我觉得在pop的同时进行top的返回倒是不错的设计。
//     }
//     //因为不能遍历所以不能用范围for进行相应的操作。

// }
// int main()
// {
//     test_stack();
//     return 0;
// }
#include<iostream>
using namespace std;
int main()
{
    int x = 0;
    auto add = [x](int y,int z)mutable{y = 3;x = 1; return x - y + z;};
    cout << add(1,2) << endl;
    return 0;
}
